gusucode.com > MATLAB与控制系统仿真实践 源代码 > MATLAB与控制系统仿真实践 源代码/第十三章/eg13_10.m
%原系统根轨迹 num=1;den=[1 0 0]; sys=tf(num,den); rlocus(sys) %求得满足条件的zeta,进而求主导极点的期望位置 zeta=0:0.001:0.99; %给定不同zeta值 sigma=exp(-zeta*pi./sqrt(1-zeta.^2))*100; %求取对应zeta值的sigma值 plot(zeta,sigma) %绘制zeta值和sigma值关系曲线 xlabel('\zeta'); ylabel('\sigma'); title('\sigma%=e^{-\zeta*\pi/sqrt(1-\zeta^2)}*100%','fontsize',16) grid %设计校正网络 x=-1:-0.01:-20; angs=90-2*angle(-1+2*j-0)*180/pi-angle(-1+2*j-x)*180/pi; p=spline(angs,x,-180) %观察校正后系统特性 G=tf([1 1],[1 3.67 0 0]); %系统开环传递函数 rlocus(G); %系统根轨迹 sgrid(1/sqrt(5),[]) k=8.34; Gk=tf(k*[1 1],[1 3.67 0 0]); %系统开环传递函数 G=feedback(Gk,1); %闭环系统传递函数 step(G)